কম্পিউটারের ইতিহাসের প্রথম যুগে বড় বড় বিশ্ববিদ্যালয়, গবেষণাগার ও সরকারি গুরুত্বপূর্ণ প্রতিষ্ঠান যেমন প্রতিরক্ষা বা সেনাবাহিনীদের কাছেই শুধু কম্পিউটার ছিল। এই কম্পিউটারগুলো প্রচুর পরিমাণে হিসাব নিকাশ করা, গবেষণালব্ধ তথ্য যাচাই-বাছাই, সংগ্রহ ও সংরক্ষণ করার কাজেই তখন ব্যবহৃত হতো। অচিরেই এক কম্পিউটারকে অন্য কম্পিউটারের সঙ্গে সংযুক্ত করার প্রয়োজনীয়তা উপলব্ধ হয় এবং ধাপে ধাপে ইন্টারনেট ব্যবস্থা তৈরি হয়। সেইসঙ্গে বিভিন্ন ধরনের ডকুমেন্ট বা ফাইল এক কম্পিউটার থেকে অন্য কম্পিউটারে স্থানান্তরের চাহিদা তৈরি হয়। এই চাহিদা থেকেই টিম বার্নার্স-লি (Tim Berners-Lee) ওয়ার্ল্ড ওয়াইড ওয়েব (www : world wide web) বা সংক্ষেপে ওয়েব তৈরি করেন। তিনি তখন সুইজারল্যান্ডের CERN নামক একটি গবেষণাগারে কর্মরত ছিলেন। ১৯৮৯ সালে তিনি এমন একটি ওয়েবের ধারণা প্রস্তাব করেন যার মাধ্যমে আইপি অ্যাড্রেস (IP Address) 1 ব্যবহার করে এক কম্পিউটার থেকে অন্য কম্পিউটারে বিভিন্ন ডকুমেন্ট পাঠানো যাবে। টিমের ধারণা ছিল ওয়েবের মাধ্যমে বিভিন্ন দেশের বিজ্ঞানীরা যেন তাদের নিজস্ব দেশে বসেই CERN এর কম্পিউটার থেকে বিভিন্ন তথ্য সংগ্রহ করতে পারেন। তিনি প্রস্তাব করেন, একবারে শত শত পৃষ্ঠার ডকুমেন্ট ফাইল ডাউনলোড করার ব্যবস্থা না করে সব পৃষ্ঠা আলাদা আলাদাভাবেই যেন ইন্টারনেট থেকে সংগ্রহ করার ব্যবস্থা করা যায়। তাতে করে একেকটি পৃষ্ঠায় অন্যান্য দরকারি পৃষ্ঠার লিঙ্ক দিয়ে দেওয়া যাবে। যার যার যেসব পৃষ্ঠা দরকার হবে তারা শুধু সেই সমস্ত পৃষ্ঠাই ডাউনলোড করবে। তিনি ইন্টারনেট ব্যবহার করে পাঠানো লিখিত তথ্যের নাম দেন হাইপারটেক্সট (Hypertext)। এই হাইপারটেক্সটগুলো খুঁজে পাওয়া যাবে বিভিন্ন নেটওয়ার্ক ঠিকানায় যার নাম হবে হাইপারলিঙ্ক (Hyperlink)। লিখিত তথ্যের বাইরে ছবি, অডিও ও ভিডিও জাতীয় তথ্যকে বলা হবে হাইপারমিডিয়া (Hypermedia)। টিম চিন্তা করেন, এমন একটি উপায় করতে হবে যেন লিঙ্কগুলো মাউস দিয়ে ক্লিক করেই ব্যবহারকারীরা সেই হাইপারলিঙ্ক থেকে হাইপারটেক্সট পেতে পারেন। 1990 সালে তিনি তার সহকর্মীদের সহায়তায় তার ধারণাটিকে আরো সুগঠিত রূপ দিয়ে পুনরায় প্রস্তাব করেন। ওয়েবের এই তথ্যগুলো অন্য কম্পিউটারে দেখার জন্য তিনি একটি সফটওয়্যারও তৈরি করেন যা হচ্ছে একটি ওয়েব ব্রাউজার।
এই মূল ধারণার ওপরেই তৈরি হয়েছে আজকের ওয়েব। বর্তমানে ইন্টারনেটে অসংখ্য ওয়েবসাইট রয়েছে। এই ওয়েবসাইটগুলো নিজের কম্পিউটার থেকে দেখা বা ব্রাউজ করার জন্য আমরা সাধারণত বিভিন্ন সফটওয়্যার ব্যবহার করি। এই সফটওয়্যারগুলোকে বলা হয় ওয়েব ব্রাউজার। বিভিন্ন প্রতিষ্ঠানের তৈরি বিভিন্ন ওয়েব ব্রাউজার রয়েছে। যেমন— মজিলা ফায়ারফক্স, গুগল ক্রোম, সাফারি, ওপেরা, মাইক্রোসফট এজ ইত্যাদি।
1 আইপি অ্যাড্রেস (IP Address) : ইন্টারনেটে সংযুক্ত প্রতিটি যন্ত্র (যেমন- কম্পিউটার, মোবাইল ফোন ইত্যাদি)কে স্বতন্ত্রভাবে চিহ্নিত করার জন্য একটি বিশেষ নম্বর ব্যবহার করা হয় যাকে আইপি অ্যাড্রেস বলে। আইপি অ্যাড্রেস হচ্ছে ইন্টারনেটে একটি নির্দিষ্ট যন্ত্রের ঠিকানা।
একসময় ওয়েবসাইটগুলো ছিল স্ট্যাটিক (static), অর্থাৎ সেখানে বিভিন্ন তথ্য রাখা হতো এবং ব্যবহারকারী ওয়েব ব্রাউজারের মাধ্যমে সেই তথ্য দেখতে পেতেন। কিন্তু বর্তমানে বেশিরভাগ ওয়েবসাইট আর স্ট্যাটিক ওয়েবসাইট নয়, বরং ডায়নামিক (dynamic) ওয়েবসাইট যেখানে ব্যবহারকারীরা ওয়েবসাইটে বিভিন্ন ইনপুট দেন আর সেই ইনপুট অনুসারে বিভিন্ন আউটপুট তৈরি হয়। এজন্য এগুলোকে ওয়েব অ্যাপ্লিকেশনও বলা হয়। এরকম ওয়েব অ্যাপ্লিকেশনের কিছু উদাহরণ হচ্ছে google.com, services.nidw.gov.bd, passport.gov.bd ইত্যাদি।
একটি ওয়েবসাইটের দুটি অংশ থাকে— সার্ভার ও ক্লায়েন্ট। ক্লায়েন্ট সফটওয়্যার ব্যবহারকারীর ইনপুট নিয়ে সার্ভারের কাছে ডেটা পাঠায় যাকে বলা হয় রিকোয়েস্ট (request)। সার্ভার সেই ডেটা অনুসারে ক্লায়েন্টের কাছে জৰাব বা রেসপন্স (response) পাঠায়। যেমন— একটি ওয়েবসাইটে অ্যাকাউন্ট তৈরি করতে চাইলে ব্রাউজারে বিভিন্ন তথ্য লিখে ব্যবহারকারী একটি বাটনে ক্লিক করেন, তখন সেই ডেটা সার্ভারের কাছে যায় এবং সার্ভার ডেটা পরীক্ষা-নিরীক্ষা করে যদি কোনো সমস্যা না পায় (যেমন— ইতিমধ্যে এই নামে একাউন্ট তৈরি করা আছে), তখন সার্ভার ব্যবহারকারীর একাউন্ট তৈরি করে এবং ক্লায়েন্টের কাছে রেসপন্স পাঠায়। আবার কোনো কারণে একাউন্ট তৈরি করা না গেলেও ক্লায়েন্টের কাছে রেসপন্স পাঠান |
সার্ভারে যেই সফটওয়্যার চলে, সেটি সাধারণত একটি প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয়। এসব কাজের জন্য জনপ্রিয় প্রোগ্রামিং ভাষা হচ্ছে পিএইচপি, পাইথন, জাভা, রুৰি ইত্যাদি।
ব্রাউজারে যেই ওয়েবসাইট কিংবা ওয়েব অ্যাপ্লিকেশন চলে, সেখানে ব্যবহার করা হয় HTML ও CSS HTML এর পূর্ণরুপ হচ্ছে Hyper Text Markup Language। এটি কোনো প্রোগ্রামিং ভাষা নয়, বরং একে মার্কআপ ভাষা বলা যায়। এর কাজ হচ্ছে কোনো তথ্য ব্রাউজারে প্রদর্শনের উপযোগী করা। এখানে যেসব ট্যাগ (tag) ব্যবহার করা হয়, ব্রাউজার সেগুলো বুঝতে পারে এবং সে অনুযায়ী ওয়েবসাইটে ডেটা প্রদর্শন করে।
শুধু এইচটিএমএল ব্যবহার করে ওয়েবসাইট তৈরি করা গেলেও, ওয়েবসাইটকে আরো আকর্ষণীয় ও সুন্দরভাবে উপস্থাপন করার জন্য ব্যবহার করা হয় CSS- যার পূর্ণরূপ হচ্ছে, Cascading Style Sheet আধুনিক সব ওয়েবসাইটেই HTML এর সঙ্গে CSS ব্যবহার করা হয়।
ডায়নামিক ওয়েব অ্যাপ্লিকেশনের ক্ষেত্রে সবসময়ই যে সার্ভারের কাছে ডেটা পাঠাতে হবে, এমনটি নয়। বরং অনেক কাজ ক্লায়েন্ট অংশেই করে ফেলা সম্ভব। সেজন্য ওয়েবসাইটের ক্লায়েন্ট অংশে প্রোগ্রামিং করা যায়। এই কাজের জন্য সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষা হচ্ছে জাভাস্ক্রিপ্ট (Javascript)।
একটি ওয়েবসাইটে এক বা একাধিক ওয়েব পেইজ থাকে। সাধারণত একেবারে প্রথমে যে পৃষ্ঠা থাকে তাকে ওয়েবসাইটের হোমপেইজ (Homepage) বলা হয়। এছাড়া ওয়েবসাইটের ধরন অনুযায়ী ওয়েবসাইটে বিভিন্ন পেইজ থাকে। যেমন— অডিও-ভিডিও শেয়ারিং ওয়েবসাইটে একেকটি অডিও/ভিডিও'র জন্য একেকটি পেইজ থাকতে পারে। আবার, একেকজন ব্যবহারকারীর নিজস্ব একেকটি পেইজ থাকতে পারে। আবার ব্লগ জাতীয় ওয়েবসাইটে প্রতিটি ব্লগ পোস্টের জন্য একেকটি পেইজ থাকতে পারে। এছাড়া বিভিন্ন ওয়েবসাইটে কিছু প্রচলিত পেইজ থাকে, যেমন— contact us (যোগাযোগ), about us (আমাদের সম্পর্কে), frequently asked questions- FAQ (প্রায়শ জিজ্ঞাস্য প্রশ্ন) ইত্যাদি।